package br.com.commercy.teste.clientejuridico;

import java.util.ArrayList;
import java.util.Collection;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;

import br.com.commercy.dominio.entidade.ClienteJuridico;
import br.com.commercy.dominio.entidade.Contato;
import br.com.commercy.dominio.entidade.Endereco;
import br.com.commercy.dominio.entidade.GrupoEmpresa;
import br.com.commercy.dominio.entidade.dominio.enuns.EnumAtividadeSintetica;
import br.com.commercy.dominio.entidade.dominio.enuns.EnumPaises;
import br.com.commercy.negocio.componente.clientejuridico.bo.ClienteJuridicoBO;
import br.com.commercy.teste.gerartabelas.ApplicationTestFactoryUtil;

public class TClienteJuridico {

	private ClienteJuridico cliente;
	
	private ClienteJuridicoBO bo;
	
	@Before
	public void juridico(){
		BeanFactory beanFactory = ApplicationTestFactoryUtil.obterInstancia().getBeanFactory();
		bo =  (ClienteJuridicoBO) beanFactory.getBean("clienteJuridicoBOImpl");
	}
	
	@Test
	public void test(){
		Contato contato = new Contato();
		Collection<Contato> contatos = new ArrayList<Contato>();
		contato.setDdd(81);
		contato.setDescricao("falar com carla");
		contato.setEmail("xeleva@gmail.com");
		contato.setNomeContato("Carla");
		contato.setNumero(34556666l);
		contatos.add(contato);
		
		Endereco endereco = new Endereco();
		Collection<Endereco> enderecos = new ArrayList<Endereco>();
		endereco.setBairro("Curado");
		endereco.setCep(50791487l);
		endereco.setLogradouro("");
		endereco.setPais(EnumPaises.BRASIL.getDescricao());
		endereco.setUf("PE");
		enderecos.add(endereco);
		
		GrupoEmpresa grupoEmpresa = new GrupoEmpresa();
		grupoEmpresa.setDescricao("Grupo Bezerra");
		
		cliente = new ClienteJuridico();
		cliente.setCnpj("0000000000000");
		cliente.setAtividadeSintetica(EnumAtividadeSintetica.AUTOMOTIVA.getId());
		cliente.setDiaVencimento(30);
		cliente.setContatos(contatos);
		cliente.setEnderecos(enderecos);
		cliente.setGrupoEmpresa(grupoEmpresa);
		cliente.setInscricaoEstadual(6666666666666l);
		cliente.setInscricaoSufama(9999999999999999l);
		cliente.setInternacional(false);
		cliente.setNomeRazaoSocial("X elevadores");
		cliente.setObservacao("Empresa com 10 anos de mercado");
		cliente.setObservaoNota("Pagamento ao fechamento do mes");
		cliente.setRegiao(1);
		cliente.setSituacao(1);
		cliente.setWebSite("");
		
		bo.salvar(cliente);
	}
	
	@After
	public void consultaJuridico(){
		ClienteJuridico juridico = bo.obter(cliente.getIdentificador());
		System.out.println(juridico.getCnpj());
	}
}
